perm filename ARPMTC[CUR,JMC] blob
sn#148444 filedate 1975-03-01 generic text, type T, neo UTF8
00100 These notes are intended to provide a basis for answering Licklider's
00200 questions about when and how work on MTC and automatic programming
00300 and formal reasoning will pay off.
00400
00500 1. Each of these areas has a pure research component for which a day
00600 of payoff cannot presently be predicted, but there is a predictable
00700 payoff for some of it. Probably the above should be said so that we
00800 don't get into the position of having to justify the immediate payoff
00900 of every detail, but it should be said more softly and probably not
01000 first.
01100
01200 2. Proving programs correct will require one or more new programming
01300 languages. The practical programmers will find the anomalies of
01400 existing languages (it is necessary to document the anomalies, and
01500 this could best be done in reference to the IBM Vienna formalization
01600 of PL/I) even more inconvenient in proving practical programs than
01700 logicians find it in proving example programs. The definition of
01800 such languages must wait until the verification of enough different
01900 types of programs has been carried far enough so that we know what
02000 we need. (References to the different types of programs that have
02100 been verified here and elsewhere should be made and the need to
02200 co-ordinate this work should be stated. Perhaps there should be an
02300 ARPA sponsored conference on making program verification a practical
02400 tool.).
02500